package org.example.gateway.service;

import org.example.gateway.pojo.ChangeStatusDto;
import org.example.gateway.pojo.dto.AppInfoDto;
import org.example.gateway.pojo.dto.RegisterAppDto;
import org.example.gateway.pojo.dto.UnregisterDto;
import org.example.gateway.pojo.vo.AppVo;

import java.util.List;

public interface AppService {
    /**
     * 注册应用
     *
     * @param registerAppDTO
     */
    void register(RegisterAppDto registerAppDTO);

    /**
     * 取消注册应用程序实例
     *
     * @param unregisterDto
     */
    void unregister(UnregisterDto unregisterDto);

    /**
     * 通过appNames获取应用信息
     * @param appNames
     * @return
     */
    List<AppInfoDto> getAppInfos(List<String> appNames);

    List<AppVo> getList();

    void updateEnabled(ChangeStatusDto statusDTO);

    void delete(Integer id);
}
